A solid-state drive (“SSD”) is a data storage device using integrated circuit assemblies as memory to store data persistently. The primary memory component in an SSD may be NAND flash non-volatile memory or NOR flash non-volatile memory. NAND flash and NOR flash utilize floating-gate transistors. NAND flash and NOR flash are named after the logic gate which their respective assemblies resemble.
SSD memories are accessed much like block devices, such as hard disks or memory cards. Each block consists of a number of pages. The pages can be, for example, 512, 2048, or 4096 bytes in size. Data is written to the flash memory in units called pages. A page must be erased before new data may be written to the page. However, to erase a page, the block containing the page is erased. Garbage collection is a process in which a first block is emptied of pages containing valid data, which are re-written to a second block, and the first block is erased to prepare the first block to write new valid data. Garbage collection can contribute to write amplification. Write amplification refers to a condition associated with flash memory and SSDs in which the actual amount of physical information written is a multiple of the logical amount intended to be written.